Signal noise reduction by spectral subtraction using linear convolution and casual filtering

ABSTRACT

Methods and apparatus for providing speech enhancement in noise reduction systems include spectral subtraction algorithms using linear convolution, causal filtering and/or spectrum dependent exponential averaging of the spectral subtraction gain function. According to exemplary embodiments, low order spectrum estimates are developed which have less frequency resolution and reduced variance as compared to spectrum estimates in conventional spectral subtraction systems. The low order spectra are used to form a gain function having a desired low variance which in turn reduces musical tones in the spectral subtraction output signal. Advantageously, the gain function can be further smoothed across blocks using input spectrum dependent exponential averaging. Additionally, the low order of the gain function permits a phase to be added during interpolation so that the spectral subtraction gain filter is causal and prevents discontinuities between blocks.

FIELD OF THE INVENTION

The present invention relates to communications systems, and more particularly, to methods and apparatus for mitigating the effects of disruptive background noise components in communications signals.

BACKGROUND OF THE INVENTION

Today, the use of hands-free equipment in mobile telephones and other communications devices is increasing. A well known problem associated with hands-free solutions, particularly in automobile applications, is that of disruptive background noise being picked up at a hands-free microphone and transmitted to a far-end user. In other words, since the distance between a hands-free microphone and a near-end user can be relatively large, the hands-free microphone picks up not only the near-end user's speech, but also any noise which happens to be present at the near-end location. For example, in an automobile telephone application, the near-end microphone typically picks up surrounding traffic, road and passenger compartment noise. The resulting noisy near-end speech can be annoying or even intolerable for the far-end user. It is thus desirable that the background noise be reduced as much as possible, preferably early in the near-end signal processing chain (e.g., before the received near-end microphone signal is input to a near-end speech coder).

As a result, many hands-free systems include a noise reduction processor designed to eliminate background noise at the input of a near-end signal processing chain. FIG. 1 is a high-level block diagram of such a hands-free system 100. In FIG. 1, a noise reduction processor 110 is positioned at the output of a hands-free microphone 120 and at the input of a near-end signal processing path (not shown). In operation, the noise reduction processor 110 receives a noisy speech signal x from the microphone 120 and processes the noisy speech signal x to provide a cleaner, noise-reduced speech signal S_(NR) which is passed through the near-end signal processing chain and ultimately to the far-end user.

One well known method for implementing the noise reduction processor 110 of FIG. 1 is referred to in the art as spectral subtraction. See, for example, S. F. Boll, Suppression of Acoustic Noise in Speech using Spectral Subtraction, IEEE Trans. Acoust. Speech and Sig. Proc., 27:113-120, 1979, which is incorporated herein by reference. Generally, spectral subtraction uses estimates of the noise spectrum and the noisy speech spectrum to form a signal-to-noise (SNR) based gain function which is multiplied with the input spectrum to suppress frequencies having a low SNR. Though spectral subtraction does provide significant noise reduction, it suffers from several well known disadvantages. For example, the spectral subtraction output signal typically contains artifacts known in the art as musical tones. Further, discontinuities between processed signal blocks often lead to diminished speech quality from the far-end user perspective.

Many enhancements to the basic spectral subtraction method have been developed in recent years. See, for example, N. Virage, Speech Enhancement Based on Masking Properties of the Auditory System, IEEE ICASSP. Proc. 796-799 vol. 1, 1995; D. Tsoukalas, M. Paraskevas and J. Mourjopoulos, Speech Enhancement using Psychoacoustic Criteria, IEEE ICASSP. Proc., 359-362 vol. 2, 1993; F. Xie and D. Van Compernolle, Speech Enhancement by Spectral Magnitude Estimation—A Unifying Approach, IEEE Speech Communication, 89-104 vol. 19, 1996; R. Martin, Spectral Subtraction Based on Minimum Statistics, UESIPCO, Proc., 1182-1185 vol. 2, 1994; and S. M. McOlash, R. J. Niederjohn and J. A. Heinen, A Spectral Subtraction Method for Enhancement of Speech Corrupted by Nonwhite, Nonstationary Noise, IEEE IECON. Proc., 872-877 vol. 2, 1995.

While these methods do provide varying degrees of speech enhancement, it would nonetheless be advantageous if alternative techniques for addressing the above described spectral subtraction problems relating to musical tones and inter-block discontinuities could be developed. Consequently, there is a need for improved methods and apparatus for performing noise reduction by spectral subtraction.

SUMMARY OF THE INVENTION

The present invention fulfills the above-described and other needs by providing improved methods and apparatus for performing noise reduction by spectral subtraction. According to exemplary embodiments, spectral subtraction is carried out using linear convolution, causal filtering and/or spectrum dependent exponential averaging of the spectral subtraction gain function. Advantageously, systems constructed in accordance with the invention provide significantly improved speech quality as compared to prior art systems without introducing undue complexity.

According to the invention, low order spectrum estimates are developed which have less frequency resolution and reduced variance as compared to spectrum estimates in conventional spectral subtraction systems. The spectra according to the invention are used to form a gain function having a desired low variance which in turn reduces the musical tones in the spectral subtraction output signal. According to exemplary embodiments, the gain function is further smoothed across blocks by using input spectrum dependent exponential averaging. The low resolution gain function is interpolated to the full block length gain function, but nonetheless corresponds to a filter of the low order length. Advantageously, the low order of the gain function permits a phase to be added during the interpolation. The gain function phase, which according to exemplary embodiments can be either linear phase or minimum phase, causes the gain filter to be causal and prevents discontinuities between blocks. In exemplary embodiments, the casual filter is multiplied with the input signal spectra and the blocks are fitted using an overlap and add technique. Further, the frame length is made as small as possible in order to minimize introduced delay without introducing undue variations in the spectrum estimate.

In one exemplary embodiment, a noise reduction system includes a spectral subtraction processor configured to filter a noisy input signal to provide a noise reduced output signal. The gain function of the spectral subtraction processor is computed based on an estimate of a spectral density of the input signal and on an estimate of a spectral density of a noise component of the input signal. Further, a block of samples of the noise reduced output signal is computed based on a respective block of samples of the input signal and on a respective block of samples of the gain function, and an order of the block of computed samples of the output signal is greater than a sum of an order of the respective block of samples of the input signal and an order of the respective block of samples of the gain function.

In exemplary embodiments, the block of computed samples of the output signal is computed based on a correct convolution of the respective block of samples of the input signal and the respective block of samples of the gain function. For example, a block of N samples of the output signal is computed based on a block of L samples of the input signal and on a block of M samples of the gain function, wherein the sum of L and M is less than N. The block of M samples of the gain function can be computed, for example, using spectral estimation based on the L samples of the input signal. According to exemplary embodiments, the spectral estimation is carried out using either a Bartlett method or a Welch method. Successive blocks of the output signal are fitted using an overlap and add method, and a phase is added to the gain function so that the spectral subtraction processor provides causal filtering. Advantageously, the gain function can have either linear phase or minimum phase.

An exemplary method according to the invention includes the steps of computing an estimate of a spectral density of an input signal and an estimate of a spectral density of a noise component of the input signal, and using spectral subtraction to compute the noise reduced output signal based on the noisy input signal and based on a gain function computed using the spectral density estimates. According to the method, the block of samples of the noise reduced output signal is computed based on a respective block of samples of the input signal and on a respective block of samples of the gain function, and an order of the block of computed samples of the output signal is greater than a sum of an order of the respective block of samples of the input signal and an order of the respective block of samples of the gain function.

The above-described and other features and advantages of the present invention are explained in detail hereinafter with reference to the illustrative examples shown in the accompanying drawings. Those skilled in the art will appreciate that the described embodiments are provided for purposes of illustration and understanding and that numerous equivalent embodiments are contemplated herein.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a noise reduction system in which the teachings of the present invention can be implemented.

FIG. 2 depicts a conventional spectral subtraction noise reduction processor.

FIGS. 3-4 depict exemplary spectral subtraction noise reduction processors according to the invention.

FIG. 5 depicts exemplary spectrograms derived using spectral subtraction techniques according to the invention.

FIGS. 6-7 depict exemplary gain functions derived using spectral subtraction techniques according to the invention.

FIGS. 8-28 depict simulations of exemplary spectral subtraction techniques according to the invention.

DETAILED DESCRIPTION OF THE INVENTION

To understand the various features and advantages of the present invention, it is useful to first consider a conventional spectral subtraction technique. Generally, spectral subtraction is built upon the assumption that the noise signal and the speech signal in a communications application are random, uncorrelated and added together to form the noisy speech signal. For example, if s(n), w(n) and x(n) are stochastic short-time stationary processes representing speech, noise and noisy speech, respectively, then:

x(n)=s(n)+w(n)  (1)

R_(x)(ƒ)=R_(s)(ƒ)+R_(w)(ƒ)  (2)

where R(ƒ) denotes the power spectral density of a random process.

The noise power spectral density R_(w)(ƒ) can be estimated during speech pauses (i.e., where x(n)=w(n)). To estimate the power spectral density of the speech, an estimate is formed as:

{circumflex over (R)}_(s)(ƒ)={circumflex over (R)}_(x)(ƒ)−{circumflex over (R)}_(w)(ƒ)  (3)

The conventional way to estimate the power spectral density is to use a periodogram. For example, if X_(N)(ƒ_(u)) is the N length Fourier transform of x(n) and W_(N)(ƒ_(u)) is the corresponding Fourier transform of w(n), then: $\begin{matrix} {{{{\hat{R}}_{x}\left( f_{u} \right)} = {{P_{x,N}\left( f_{u} \right)} = {\frac{1}{N}{{X_{N}\left( f_{u} \right)}}^{2}}}},\quad {f_{u} = \frac{u}{N}},\quad {u = 0},\ldots \quad,{N - 1}} & (4) \\ {{{{\hat{R}}_{w}\left( f_{u} \right)} = {{P_{w,N}\left( f_{u} \right)} = {\frac{1}{N}{{W_{N}\left( f_{u} \right)}}^{2}}}},\quad {f_{u} = \frac{u}{N}},\quad {u = 0},\ldots \quad,{N - 1}} & (5) \end{matrix}$

Equations (3), (4) and (5) can be combined to provide:

|S_(N)(ƒ_(u))|²=|X_(N)(ƒ_(u))|²−|W_(N)(ƒ_(u))|²  (6)

Alternatively, a more general form is given by:

|S_(N)(ƒ_(u))|^(a)=|X_(N)(ƒ_(u))|^(a)−|W_(N)(ƒ_(u))|^(a)  (7)

where the power spectral density is exchanged for a general form of spectral density.

Since the human ear is not sensitive to phase errors of the speech, the noisy speech phase φ_(x)(ƒ) can be used as an approximation to the clean speech phase φ_(s)(ƒ):

φ_(s)(ƒ_(u))≈φ_(x)(ƒ_(u))  (8)

A general expression for estimating the clean speech Fourier transform is thus formed as: $\begin{matrix} {{S_{N}\left( f_{u} \right)} = {\left( {{{X_{N}\left( f_{u} \right)}}^{a} - {k \cdot {{W_{N}\left( f_{u} \right)}}^{a}}} \right)^{\frac{1}{a}} \cdot ^{j\quad {\varphi_{x}{(f_{u})}}}}} & (9) \end{matrix}$

where a parameter k is introduced to control the amount of noise subtraction.

In order to simplify the notation, a vector form is introduced: $\begin{matrix} {X_{N} = \begin{pmatrix} {X_{N}\left( f_{0} \right)} \\ {X_{N}\left( f_{1} \right)} \\ \vdots \\ {X_{N}\left( f_{N - 1} \right)} \end{pmatrix}} & (10) \end{matrix}$

The vectors are computed element by element. For clarity, element by element multiplication of vectors is denoted herein by ⊙. Thus, equation (9) can be written employing a gain function G_(N) and using vector notation as:

S_(N)=G_(N)⊙|X_(N) |⊙e ^(jφ) ^(_(x)) =G_(N)⊙X_(N)  (11)

where the gain function is given by: $\begin{matrix} {G_{N} = {\left( \frac{{X_{N}}^{a} - {k \cdot {W_{N}}^{a}}}{{X_{N}}^{a}} \right)^{\frac{1}{a}} = \left( {1 - {k \cdot \frac{{W_{N}}^{a}}{{X_{N}}^{a}}}} \right)^{\frac{1}{a}}}} & (12) \end{matrix}$

Equation (12) represents the conventional spectral subtraction algorithm and is illustrated in FIG. 2. In FIG. 2, a conventional spectral subtraction noise reduction processor 200 includes a fast Fourier transform processor 210, a magnitude squared processor 220, a voice activity detector 230, a block-wise averaging device 240, a block-wise gain computation processor 250, a multiplier 260 and an inverse fast Fourier transform processor 270.

As shown, a noisy speech input signal is coupled to an input of the fast Fourier transform processor 210, and an output of the fast Fourier transform processor 210 is coupled to an input of the magnitude squared processor 220 and to a first input of the multiplier 260. An output of the magnitude squared processor 220 is coupled to a first contact of the switch 225 and to a first input of the gain computation processor 250. An output of the voice activity detector 230 is coupled to a throw input of the switch 225, and a second contact of the switch 225 is coupled to an input of the block-wise averaging device 240. An output of the block-wise averaging device 240 is coupled to a second input of the gain computation processor 250, and an output of the gain computation processor 250 is coupled to a second input of the multiplier 260. An output of the multiplier 260 is coupled to an input of the inverse fast Fourier transform processor 270, and an output of the inverse fast Fourier transform processor 270 provides an output for the conventional spectral subtraction system 200.

In operation, the conventional spectral subtraction system 200 processes the incoming noisy speech signal, using the conventional spectral subtraction algorithm described above, to provide the cleaner, reduced-noise speech signal. In practice, the various components of FIG. 2 can be implemented using any known digital signal processing technology, including a general purpose computer, a collection of integrated circuits and/or application specific integrated circuitry (ASIC).

Note that in the conventional spectral subtraction algorithm, there are two parameters, a and k, which control the amount of noise subtraction and speech quality. Setting the first parameter to a=2 provides a power spectral subtraction, while setting the first parameter to a=1 provides magnitude spectral subtraction. Additionally, setting the first parameter to a=0.5 yields an increase in the noise reduction while only moderately distorting the speech. This is due to the fact that the spectra are compressed before the noise is subtracted from the noisy speech.

The second parameter k is adjusted so that the desired noise reduction is achieved. For example, if a larger k is chosen, the speech distortion increases. In practice, the parameter k is typically set depending upon how the first parameter a is chosen. A decrease in a typically leads to a decrease in the k parameter as well in order to keep the speech distortion low. In the case of power spectral subtraction, it is common to use over-subtraction (i.e., k>1).

The conventional spectral subtraction gain function (see equation (12)) is derived from a full block estimate and has zero phase. As a result, the corresponding impulse response g_(N)(u) is non-causal and has length N (equal to the block length). Therefore, the multiplication of the gain function G_(N)(l) and the input signal X_(N)(see equation (11)) results in a periodic circular convolution with a non-causal filter. As described above, periodic circular convolution can lead to undesirable aliasing in the time domain, and the non-causal nature of the filter can lead to discontinuities between blocks and thus to inferior speech quality. Advantageously, the present invention provides methods and apparatus for providing correct convolution with a causal gain filter and thereby eliminates the above described problems of time domain aliasing and inter-block discontinuity.

With respect to the time domain aliasing problem, note that convolution in the time-domain corresponds to multiplication in the frequency-domain. In other words:

x(u)*y(u)←→X(ƒ)·Y(ƒ), u=−∞, . . . ,∞  (13)

When the transformation is obtained from a fast Fourier transform (FFT) of length N, the result of the multiplication is not a correct convolution. Rather, the result is a circular convolution with a periodicity of N:

x _(N){circle around (N)}y _(N)  (14)

where the symbol {circle around (N)} denotes circular convolution.

In order to obtain a correct convolution when using a fast Fourier transform, the accumulated order of the impulse responses x_(N) and y_(N) must be less than or equal to one less than the block length N−1.

Thus, according to the invention, the time domain aliasing problem resulting from periodic circular convolution can be solved by using a gain function G_(N)(l) and an input signal block X_(N) having a total order less than or equal to N−1.

According to conventional spectral subtraction, the spectrum X_(N) of the input signal is of full block length N. However, according to the invention, an input signal block X_(L) of length L (L<N) is used to construct a spectrum of order L. The length L is called the frame length and thus x_(L) is one frame. Since the spectrum which is multiplied with the gain function of length N should also be of length N, the frame x_(L) is zero padded to the full block length N, resulting in X_(L↑N).

In order to construct a gain function of length N, the gain function according to the invention can be interpolated from a gain function G_(M)(l) of length M, where M<N, to form G_(M↑N)(l). To derive the low order gain function G_(M↑N)(l) according to the invention, any known or yet to be developed spectrum estimation technique can be used as an alternative to the above described simple Fourier transform periodogram. Several known spectrum estimation techniques provide lower variance in the resulting gain function. See, for example, J. G. Proakis and D. G. Manolakis, Digital Signal Processing; Principles, Algorithms, and Applications, Macmillan, Second Ed., 1992.

According to the well known Bartlett method, for example, the block of length N is divided in K sub-blocks of length M. A periodogram for each sub-block is then computed and the results are averaged to provide an M-long periodogram for the total block as: $\begin{matrix} \begin{matrix} {{{P_{x,M}\left( f_{u} \right)} = \quad {\frac{1}{K}{\sum\limits_{k = 0}^{K - 1}{P_{x,M,k}\left( f_{u} \right)}}}},\quad {f_{u} = \frac{u}{M}},\quad {u = 0},\ldots,{M - 1}} \\ {= \quad {\frac{1}{K}{\sum\limits_{k = 0}^{K - 1}{{\mathcal{F}\left( {x\left( {{k \cdot M} + u} \right)} \right)}}^{2}}}} \end{matrix} & (15) \end{matrix}$

Advantageously, the variance is reduced by a factor K when the sub-blocks are uncorrelated, compared to the full block length periodogram. The frequency resolution is also reduced by the same factor.

Alternatively, the Welch method can be used. The Welch method is similar to the Bartlett method except that each sub-block is windowed by a Hanning window, and the sub-blocks are allowed to overlap each other, resulting in more sub-blocks. The variance provided by the Welch method is further reduced as compared to the Bartlett method. The Bartlett and Welch methods are but two spectral estimation techniques, and other known spectral estimation techniques can be used as well.

Irrespective of the precise spectral estimation technique implemented, it is possible and desirable to decrease the variance of the noise periodogram estimate even further by using averaging techniques. For example, under the assumption that the noise is long-time stationary, it is possible to average the periodograms resulting from the above described Bartlett and Welch methods. One technique employs exponential averaging as:

{overscore (P)}_(x,M)(l)=α·{overscore (P)}_(x,M)(l−1)+(1−α)·P_(x,M)(l)  (16)

In equation (16), the function P_(x,M)(l) is computed using the Bartlett or Welch method, the function {overscore (P)}_(x,M)(l) is the exponential average for the current block and the function {overscore (P)}_(x,M)(l−1) is the exponential average for the previous block. The parameter α controls how long the exponential memory is, and typically should not exceed the length of how long the noise can be considered stationary. An α closer to 1 results in a longer exponential memory and a substantial reduction of the periodogram variance.

The length M is referred to as the sub-block length, and the resulting low order gain function has an impulse response of length M. Thus, the noise periodogram estimate {overscore (P)}_(x) _(L) _(,M)(l) and the noisy speech periodogram estimate P_(x) _(L) _(,M)(l) employed in the composition of the gain function are also of length M: $\begin{matrix} {{G_{M}(l)} = \left( {1 - {k \cdot \frac{{\overset{\_}{P}}_{x_{L},M}^{a}(l)}{P_{x_{L},M}^{a}(l)}}} \right)^{\frac{1}{a}}} & (17) \end{matrix}$

According to the invention, this is achieved by using a shorter periodogram estimate from the input frame X_(L) and averaging using, for example, the Bartlett method. The Bartlett method (or other suitable estimation method) decreases the variance of the estimated periodogram, and there is also a reduction in frequency resolution. The reduction of the resolution from L frequency bins to M bins means that the periodogram estimate P_(x) _(L) _(,M)(l) is also of length M. Additionally, the variance of the noise periodogram estimate {overscore (P)}_(x) _(L) _(,M)(l) can be decreased further using exponential averaging as described above.

To meet the requirement of a total order less than or equal to N−1, the frame length L, added to the sub-block length M, is made less than N. As a result, it is possible to form the desired output block as:

S_(N)=G_(M↑N)(l)⊙X_(L↑N)  (18)

Advantageously, the low order filter according to the invention also provides an opportunity to address the problems created by the non-causal nature of the gain filter in the conventional spectral subtraction algorithm (i.e., inter-block discontinuity and diminished speech quality). Specifically, according to the invention, a phase can be added to the gain function to provide a causal filter. According to exemplary embodiments, the phase can be constructed from a magnitude function and can be either linear phase or minimum phase as desired.

To construct a linear phase filter according to the invention, first observe that if the block length of the FFT is of length M, then a circular shift in the time-domain is a multiplication with a phase function in the frequency-domain: $\begin{matrix} {\left. {g\left( {n - l} \right)}_{M}\leftrightarrow{{G_{M}\left( f_{u} \right)} \cdot ^{{- {j2\pi}}\quad u\quad {l/M}}} \right.,\quad {f_{u} = \frac{u}{M}},\quad {u = 0},\ldots,{M - 1}} & (19) \end{matrix}$

In the instant case, 1 equals M/2+1, since the first position in the impulse response should have zero delay (i.e., a causal filter). Therefore: $\begin{matrix} \left. {g\left( {n - \left( {{M/2} + 1} \right)} \right)}_{M}\leftrightarrow{{G_{M}\left( f_{u} \right)} \cdot ^{{- {j\pi}}\quad {u{({1 + \frac{2}{M}})}}}} \right. & (20) \end{matrix}$

and the linear phase filter {overscore (G)}_(M)(ƒ_(u)) is thus obtained as $\begin{matrix} {{{\overset{\_}{G}}_{M}\left( f_{u} \right)} = {{G_{M}\left( f_{u} \right)} \cdot ^{{- {j\pi}}\quad {u{({1 + \frac{2}{M}})}}}}} & (21) \end{matrix}$

According to the invention, the gain function is also interpolated to a length N, which is done, for example, using a smooth interpolation. The phase that is added to the gain function is changed accordingly, resulting in: $\begin{matrix} {{{\overset{\_}{G}}_{M \uparrow N}\left( f_{u} \right)} = {{G_{M \uparrow N}\left( f_{u} \right)} \cdot ^{{- j}\quad \pi \quad {{u{({1 + \frac{2}{M}})}} \cdot \frac{M}{N}}}}} & (22) \end{matrix}$

Advantageously, construction of the linear phase filter can also be performed in the time-domain. In such case, the gain function G_(M)(ƒ_(u)) is transformed to the time-domain using an IFFT, where the circular shift is done. The shifted impulse response is zero-padded to a length N, and then transformed back using an N-long FFT. This leads to an interpolated causal linear phase filter {overscore (G)}_(M↑N)(ƒ_(u)) as desired.

A causal minimum phase filter according to the invention can be constructed from the gain function by employing a Hilbert transform relation. See, for example, A. V. Oppenheim and R. W. Schafer, Discrete-Time Signal Processing, Prentic-Hall, Inter. Ed., 1989. The Hilbert transform relation implies a unique relationship between real and imaginary parts of a complex function. Advantageously, this can also be utilized for a relationship between magnitude and phase, when the logarithm of the complex signal is used, as:

ln(|G_(M)(ƒ_(u))|·e ^(j·arg(G) ^(_(M)) ^((ƒ) ^(_(u)) ⁾⁾)=ln(|G_(M)(ƒ_(u))|)+ln(e ^(j·arg(G) ^(_(M)) ^((ƒ) ^(_(u)) ⁾⁾)

 =ln(|G_(M)(ƒ_(u))|)+j·arg(G_(M)(ƒ_(u)))  (23)

In the present context, the phase is zero, resulting in a real function. The function ln(|G_(M)(ƒ_(u))|) is transformed to the time-domain employing an IFFT of length M, forming g_(M)(n). The time-domain function is rearranged as: $\begin{matrix} {{{\overset{\_}{g}}_{M}(n)} = \left\{ \begin{matrix} {{2 \cdot {g_{M}(n)}},} & {{n = 1},2,\ldots,{{M/2} - 1}} \\ {{g_{M}(n)},} & {{n = 0},{M/2}} \\ {0,} & {{n = {{M/2} + 1}},\ldots,{M - 1}} \end{matrix} \right.} & (24) \end{matrix}$

The function {overscore (g)}_(m)(n) is transformed back to the frequency-domain using an M-long FFT, yielding ln(|{overscore (G)}_(M)(ƒ_(u))|·e^(j·arg({overscore (G)}) ^(_(M)) ^((ƒ) ^(_(u)) ⁾⁾). From this, the function {overscore (G)}_(M)(ƒ_(u)) is formed. The causal minimum phase filter {overscore (G)}_(M)(ƒ_(u)) is then interpolated to a length N. The interpolation is made the same way as in the linear phase case described above. The resulting interpolated filter G_(M↑N)(ƒ_(u)) is causal and has approximately minimum phase.

The above described spectral subtraction scheme according to the invention is depicted in FIG. 3. In FIG. 3, a spectral subtraction noise reduction processor 300, providing linear convolution and causal-filtering, is shown to include a Bartlett processor 305, a magnitude squared processor 320, a voice activity detector 330, a block-wise averaging processor 340, a low order gain computation processor 350, a gain phase processor 355, an interpolation processor 356, a multiplier 360, an inverse fast Fourier transform processor 370 and an overlap and add processor 380.

As shown, the noisy speech input signal is coupled to an input of the Bartlett processor 305 and to an input of the fast Fourier transform processor 310. An output of the Bartlett processor 305 is coupled to an input of the magnitude squared processor 320, and an output of the fast Fourier transform processor 310 is coupled to a first input of the multiplier 360. An output of the magnitude squared processor 320 is coupled to a first contact of the switch 325 and to a first input of the low order gain computation processor 350. A control output of the voice activity detector 330 is coupled to a throw input of the switch 325, and a second contact of the switch 325 is coupled to an input of the block-wise averaging device 340.

An output of the block-wise averaging device 340 is coupled to a second input of the low order gain computation processor 350, and an output of the low order gain computation processor 350 is coupled to an input of the gain phase processor 355. An output of the gain phase processor 355 is coupled to an input of the interpolation processor 356, and an output of the interpolation processor 356 is coupled to a second input of the multiplier 360. An output of the multiplier 360 is coupled to an input of the inverse fast Fourier transform processor 370, and an output of the inverse fast Fourier transform processor 370 is coupled to an input of the overlap and add processor 380. An output of the overlap and add processor 380 provides a reduced noise, clean speech output for the exemplary noise reduction processor 300.

In operation, the spectral subtraction noise reduction processor 300 according to the invention processes the incoming noisy speech signal, using the linear convolution, causal filtering algorithm described above, to provide the clean, reduced-noise speech signal. In practice, the various components of FIG. 3 can be implemented using any known digital signal processing technology, including a general purpose computer, a collection of integrated circuits and/or application specific integrated circuitry (ASIC).

Advantageously, the variance of the gain function G_(M)(l) of the invention can be decreased still further by way of a controlled exponential gain function averaging scheme according to the invention. According to exemplary embodiments, the averaging is made dependent upon the discrepancy between the current block spectrum P_(x,M)(l) and the averaged noise spectrum {overscore (P)}_(x,M)(l). For example, when there is a small discrepancy, long averaging of the gain function G_(M)(l) can be provided, corresponding to a stationary background noise situation. Conversely, when there is a large discrepancy, short averaging or no averaging of the gain function G_(M)(l) can be provided, corresponding to situations with speech or highly varying background noise.

In order to handle the transient switch from a speech period to a background noise period, the averaging of the gain function is not increased in direct proportion to decreases in the discrepancy, as doing so introduces an audible shadow voice (since the gain function suited for a speech spectrum would remain for a long period). Instead, the averaging is allowed to increase slowly to provide time for the gain function to adapt to the stationary input.

According to exemplary embodiments, the discrepancy measure between spectra is defined as $\begin{matrix} {{\beta (l)} = \frac{\sum\limits_{u}{{{P_{x,M,u}(l)} - {{\overset{\_}{P}}_{x,M,u}(l)}}}}{\sum\limits_{u}{{\overset{\_}{P}}_{x,M,u}(l)}}} & (25) \end{matrix}$

where β(l) is limited by $\begin{matrix} \left. {\beta (l)}\Leftarrow\left\{ \begin{matrix} {1,} & {{\beta (l)} > 1} \\ {{\beta (l)},} & {{\beta_{\min} \leq {\beta (l)} \leq 1},\quad {0 \leq \beta_{\min}1}} \\ {\beta_{\min},} & {{\beta (l)} < \beta_{\min}} \end{matrix} \right. \right. & (26) \end{matrix}$

and where β(l)=1 results in no exponential averaging of the gain function, and β(l)=β_(min) provides the maximum degree of exponential averaging.

The parameter {overscore (β)}(l) is an exponential average of the discrepancy between spectra, described by

{overscore (β)}(l)=γ·{overscore (β)}(l−1)+(1−γ)·β(l)  (27)

The parameter γ in equation (27) is used to ensure that the gain function adapts to the new level, when a transition from a period with high discrepancy between the spectra to a period with low discrepancy appears. As noted above, this is done to prevent shadow voices. According to the exemplary embodiments, the adaption is finished before the increased exponential averaging of the gain function starts due to the decreased level of β(l). Thus: $\begin{matrix} {\gamma = \left\{ \begin{matrix} {0,} & {{\overset{\_}{\beta}\left( {l - 1} \right)} < {\beta (l)}} \\ {\gamma_{c},} & {{{\overset{\_}{\beta}\left( {l - 1} \right)} \geq {\beta (l)}},\quad {0 < \gamma_{c} < 1}} \end{matrix} \right.} & (28) \end{matrix}$

When the discrepancy β(l) increases, the parameter β(l) follows directly, but when the discrepancy decreases, an exponential average is employed on β(l) to form the averaged parameter β(l). The exponential averaging of the gain function is described by:

{overscore (G)}_(M)(l)=(1−{overscore (β)}(l))·{overscore (G)}_(M)(l−1)+{overscore (β)}(l)·G_(M)(l)  (29)

The above equations can be interpreted for different input signal conditions as follows. During noise periods, the variance is reduced. As long as the noise spectra has a steady mean value for each frequency, it can be averaged to decrease the variance. Noise level changes result in a discrepancy between the averaged noise spectrum {overscore (P)}_(x,M)(l) and the spectrum for the current block P_(x,M)(l) Thus, the controlled exponential averaging method decreases the gain function averaging until the noise level has stabilized at a new level. This behavior enables handling of the noise level changes and gives a decrease in variance during stationary noise periods and prompt response to noise changes. High energy speech often has time-varying spectral peaks. When the spectral peaks from different blocks are averaged, their spectral estimate contains an average of these peaks and thus looks like a broader spectrum, which results in reduced speech quality. Thus, the exponential averaging is kept at a minimum during high energy speech periods. Since the discrepancy between the average noise spectrum {overscore (P)}_(x,M)(l) and the current high energy speech spectrum P_(x,M)(l) is large, no exponential averaging of the gain function is performed. During lower energy speech periods, the exponential averaging is used with a short memory depending on the discrepancy between the current low-energy speech spectrum and the averaged noise spectrum. The variance reduction is consequently lower for low-energy speech than during background noise periods, and larger compared to high energy speech periods.

The above described spectral subtraction scheme according to the invention is depicted in FIG. 4. In FIG. 4, a spectral subtraction noise reduction processor 400, providing linear convolution, causal-filtering and controlled exponential averaging, is shown to include the Bartlett processor 305, the magnitude squared processor 320, the voice activity detector 330, the block-wise averaging device 340, the low order gain computation processor 350, the gain phase processor 355, the interpolation processor 356, the multiplier 360, the inverse fast Fourier transform processor 370 and the overlap and add processor 380 of the system 300 of FIG. 3, as well as an averaging control processor 445, an exponential averaging processor 446 and an optional fixed FIR post filter 465.

As shown, the noisy speech input signal is coupled to an input of the Bartlett processor 305 and to an input of the fast Fourier transform processor 310. An output of the Bartlett processor 305 is coupled to an input of the magnitude squared processor 320, and an output of the fast Fourier transform processor 310 is coupled to a first input of the multiplier 360. An output of the magnitude squared processor 320 is coupled to a first contact of the switch 325, to a first input of the low order gain computation processor 350 and to a first input of the averaging control processor 445.

A control output of the voice activity detector 330 is coupled to a throw input of the switch 325, and a second contact of the switch 325 is coupled to an input of the block-wise averaging device 340. An output of the block-wise averaging device 340 is coupled to a second input of the low order gain computation processor 350 and to a second input of the averaging controller 445. An output of the low order gain computation processor 350 is coupled to a signal input of the exponential averaging processor 446, and an output of the averaging controller 445 is coupled to a control input of the exponential averaging processor 446.

An output of the exponential averaging processor 446 is coupled to an input of the gain phase processor 355, and an output of the gain phase processor 355 is coupled to an input of the interpolation processor 356. An output of the interpolation processor 356 is coupled to a second input of the multiplier 360, and an output of the optional fixed FIR post filter 465 is coupled to a third input of the multiplier 360. An output of the multiplier 360 is coupled to an input of the inverse fast Fourier transform processor 370, and an output of the inverse fast Fourier transform processor 370 is coupled to an input of the overlap and add processor 380. An output of the overlap and add processor 380 provides a clean speech signal for the exemplary system 400.

In operation, the spectral subtraction noise reduction processor 400 according to the invention processes the incoming noisy speech signal, using the linear convolution, causal filtering and controlled exponential averaging algorithm described above, to provide the improved, reduced-noise speech signal. As with the embodiment of FIG. 3, the various components of FIG. 4 can be implemented using any known digital signal processing technology, including a general purpose computer, a collection of integrated circuits and/or application specific integrated circuitry (ASIC).

Note that since the sum of the frame length L and the sub-block length M are chosen, according to exemplary embodiments, to be shorter than N−1, the extra fixed FIR filter 465 of length J≦N−1−L−M can be added as shown in FIG. 4. The post filter 465 is applied by multiplying the interpolated impulse response of the filter with the signal spectrum as shown. The interpolation to a length N is performed by zero padding of the filter and employing an N-long FFT. This post filter 465 can be used to filter out the telephone bandwidth or a constant tonal component. Alternatively, the functionality of the post filter 465 can be included directly within the gain function.

The parameters of the above described algorithm are set in practice based upon the particular application in which the algorithm is implemented. By way of example, parameter selection is described hereinafter in the context of a hands-free GSM automobile mobile telephone.

First, based on the GSM specification, the frame length L is set to 160 samples, which provides 20 ms frames. Other choices of L can be used in other systems. However, it should be noted that an increment in the frame length L corresponds to an increment in delay. The sub-block length M (e.g., the periodogram length for the Bartlett processor) is made small to provide increased variance reduction M. Since an FFT is used to compute the periodograms, the length M can be set conveniently to a power of two. The frequency resolution is then determined as: $\begin{matrix} {B = \frac{F_{s}}{M}} & (30) \end{matrix}$

The GSM system sample rate is 8000 Hz. Thus a length M=16, M=32 and M=64 gives a frequency resolution of 500 Hz, 250 Hz and 125 Hz, respectively, as illustrated in FIG. 5. In FIG. 5, plot (a) depicts a simple periodogram of a clean speech signal, and plots (b), (c) and (d) depict periodograms computed for a clean speech signal using the Bartlett method with 32, 16 and 8 frequency bands, respectively. A frequency resolution of 250 Hz is reasonable for speech and noise signals, thus M=32. This yields a length L+M=160+32=192, which should be less than N−1 as described above. Thus, N is chosen, for example, to be a power of two which is greater than 192 (e.g., N=256). In such case, an optional FIR post filter of length J≦63 can be applied if desired.

As noted above, the amount of noise subtraction is controlled by the a and k parameters. A parameter choice of a=0.5 (i.e., square root spectral subtraction) provides a strong noise reduction while maintaining low speech distortion. This is shown in FIG. 6 (where the speech plus noise estimate is 1 and k is 1). Note from FIG. 6 that a=0.5 provides more noise reduction as compared to higher values of a. For clarity, FIG. 6 presents only one frequency bin, and it is the SNR for this frequency bin that is referred to hereinafter.

According to exemplary embodiments, the parameter k is made comparably small when a=0.5 is used. In FIG. 7, the gain function for different k values are illustrated for a=0.5 (again, the speech plus noise estimate is 1). The gain function should be continuously decreasing when moving toward lower SNR, which is the case when k≦1. Simulations show that k=0.7 provides low speech distortion while maintaining high noise reduction.

As described above, the noise spectrum estimate is exponentially averaged, and the parameter α controls the length of the exponential memory. Since, the gain function is averaged, the demand for noise spectrum estimate averaging will be less. Simulations show that 0.6<α<0.9 provides the desired variance reduction, yielding a time constant τ_(frame) of approximately 2 to 10 frames: $\begin{matrix} {\tau_{frame} \approx {- \frac{1}{\ln \quad \alpha}}} & (31) \end{matrix}$

The exponential averaging of the noise estimate is chosen, for example, as α=0.8.

The parameter β_(min) determines the maximum time constant for the exponential averaging of the gain function. The time constant τ_(β) _(min) , specified in seconds, is used to determine β_(min) as: $\begin{matrix} {\beta_{\min} = {1 - ^{- \frac{L}{F_{s} \cdot \tau_{\beta_{\min}}}}}} & (32) \end{matrix}$

A time constant of 2 minutes is reasonable for a stationary noise signal, corresponding to β_(min)≈0. In other words, there is no need for a lower limit on β(l) (in equation (32)), since β(l)≧0 (according to equation (25)).

The parameter γ_(c) controls how fast the memory of the controlled exponential averaging is allowed to increase when there is a transition from speech to a stationary input signal (i.e., how fast the {overscore (β)}(l) parameter is allowed to decrease referring to equations (27) and (28)). When the averaging of the gain function is done using a long memory, it results in a shadow voice, since the gain function remembers the speech spectrum.

Consider, for example, an extreme situation where the discrepancy between the noisy speech spectrum estimate P_(M)(l) and the noise spectrum estimate {overscore (P)}_(M)(l) goes from one extreme value to another. In the first instance, the discrepancy is large such that G_(M)(l)≈1 for all frequencies over a long period of time. Thus, β(l)={overscore (β)}(l)=1. Next, the spectrum estimates are manipulated so that P_(M)(l)={overscore (P)}_(M)(l), in order to simulate an extreme situation, where the β(l)=0 and G_(M)(l)=(1−k)^(1/a). The {overscore (β)}(l) parameter will decrease to zero depending on the parameter γ_(c). Thus, the parameter values are:

{overscore (β)}(−1)=1, {overscore (G)}_(M)(−1)=1,

β(−1)=1, G_(M)(−1)=1,

β(l)=0, G_(M)(l)=0.09, l=0, 1, 2,  (33)

Inserting the given parameters into equations (27) and (29) yields:

{overscore (β)}(l)=γ_(c) ^((l+)1)  (34)

{overscore (G)}_(M)(l)=(1−{overscore (β)}(l))·{overscore (G)}_(M)(l−1)+0.09·{overscore (β)}(l)  (35)

where l is the number of blocks after the decrease of energy. If the gain function is chosen to have reached the time constant level e⁻¹ after 2 frames, γ_(c)≈0.506. This extreme situation is shown in plots (a) and (b) of FIG. 8 for different values of γ_(c). A more realistic simulation with a slower decrease in energy is also presented in plots (c) and (d) of FIG. 8. The e⁻¹ level line represents the level of one time constant (i.e., when this level is crossed, one time constant has passed). The result of a real simulation using recorded input signals is presented in FIG. 9, and γ_(c)=0.8 is shown to be a good choice for preventing shadow voices.

Hereinafter, results obtained using the parameter choices suggested above are provided. Advantageously, the simulated results show improvements in speech quality and residual background noise quality as compared to other spectral subtraction approaches, while still providing a strong noise reduction. The exponential averaging of the gain function is mainly responsible for the increased quality of the residual noise. The correct convolution in combination with the causal filtering increases the overall sound quality, and makes it possible to have a short delay.

In the simulations, the well known GSM voice activity detector (see, for example, European Digital Cellular Telecommunications Systems (Phase 2); Voice Activity Detection (VAD) (GSM 06.32), European Telecommunications Standards Institute, 1994) has been used on a noisy speech signal. The signals used in the simulations were combined from separate recordings of speech and noise recorded in a car. The speech recording is performed in a quiet car using hands-free equipment and an analog telephone bandwidth filter. The noise sequences are recorded using the same equipment in a moving car.

The noise reduction performed is compared to the speech quality received. The parameter choices above value good sound quality in comparison to large noise reduction. When more aggressive choices are made, an improved noise reduction is obtained. FIGS. 10 and 11 present the input speech and noise, respectively, where the two inputs are added together using a 1:1 relationship. The resulting noisy input speech signal is presented in FIG. 12. The noise reduced output signal is illustrated in FIG. 13. The results can also be presented in an energy sense, which makes it easy to compute the noise reduction and also reveals if some speech periods are not enhanced. FIGS. 14, 15 and 16 present the clean speech, the noisy speech and the resulting output speech after the noise reduction, respectively. As shown, a noise reduction in the vicinity of 13 dB is achieved. When an input is formed using speech and car noise added together in a 2:1 relationship, the input SNR increase is as presented in FIGS. 17 and 19. The resulting signals are presented in FIGS. 18 and 20, where a noise reduction close to 18 dB can be estimated.

Additional simulations were run to clearly show the importance of having appropriate impulse response length of the gain function as well as causal properties. The sequences presented hereinafter are all from noisy speech of length 30 seconds. The sequences are presented as absolute mean averages of the output from the IFFT, |S_(N)| (see FIG. 4). The IFFT gives 256 long data blocks, the absolute value of each data value is taken and averaged. Thus, the effects of different choices of gain function can be seen clearly (i.e., non-causal filter, shorter and longer impulse responses, minimum phase or linear phase).

FIG. 21 presents the mean |S_(N)| resulting from a gain function with an impulse response of the shorter length M, and is non-causal since the gain function has zero-phase. This can be observed by the high level in the M=32 samples at the end of the averaged block.

FIG. 22 presents the mean |S_(N)| resulting from a gain function with an impulse response of the full length N, and is non-causal since the gain function has zero-phase. This can be observed by the high level in the samples at the end of the averaged block. This case corresponds to the gain function for the conventional spectral subtraction, regarding the phase and length. The full length gain function is obtained by interpolating the noise and noisy speech periodograms instead of the gain function.

FIG. 23 presents the mean |S_(N)| resulting from a minimum-phase gain function with an impulse response of the shorter length M. The minimum-phase applied to the gain function makes it causal. The causality can be observed by the low level in the samples at the end of the averaged block. The minimum phase filter gives a maximum delay of M=32 samples, which can be seen in FIG. 23 by the slope from sample 160 to 192. The delay is minimal under the constrain that the gain function is causal.

FIG. 24 presents the mean |S_(N)| resulting from a gain function with an impulse response of the full length N, and is constrained to have minimum-phase. The constrain to minimum-phase gives a maximum delay of N=256 samples, and the block can hold a maximum linear delay of 96 samples since the frame is 160 samples at the beginning of the full block of 256 samples. This can be observed in the FIG. 24 by the slope from sample 160 to 255, which does not reach zero. Since the delay may be longer than 96, it results in a circular delay, and in the case of minimum-phase it is difficult to detect the delayed samples that overlay the frame part.

FIG. 25 presents the mean |S_(N)| resulting form a linear-phase gain function with an impulse response of the shorter length M. The linear-phase applied to the gain function makes it causal. This can be observed by the low level in the samples at the end of the averaged block. The delay with the linear-phase gain function is M/2=16 samples as can be noticed by the slope from sample 0 to 15 and 160 to 175.

FIG. 26 presents the mean |S_(N)| resulting from a gain function with an impulse response of the full length N, and is constrained to have linear-phase. The constrain to linear-phase gives a maximum delay of N/2=128 samples. The block can hold a maximum linear delay of 96 samples since the frame is 160 samples at the beginning of the full block of 256 samples. The samples that is delayed longer than 96 samples give rise to the circular delay observed.

The benefit of low sample values in the block corresponding to the overlap is less interference between blocks, since the overlap will not introduce discontinuities. When a full length impulse response is used, which is the case for conventional spectral subtraction, the delay introduced with linear-phase or minimum-phase exceeds the length of the block. The resulting circular delay gives a wrap around of the delayed samples, and hence the output samples can be in the wrong order. This indicates that when a linear-phase or minimum-phase gain function is used, the shorter length of the impulse response should be chosen. The introduction of the linear- or minimum-phase makes the gain function causal.

When the sound quality of the output signal is the most important factor, the linear phase filter should be used. When the delay is important, the non-causal zero phase filter should be used, although speech quality is lost compared to using the linear phase filter. A good compromise is the minimum phase filter, which has a short delay and good speech quality, although the complexity is higher compared to using the linear phase filter. The gain function corresponding to the impulse response of the short length M should always be used to gain sound quality.

The exponential averaging of the gain function provides lower variance when the signal is stationary. The main advantage is the reduction of musical tones and residual noise. The gain function with and without exponential averaging is presented in FIGS. 27 and 28. As shown, the variability of the signal is lower during noise periods and also for low energy speech periods, when the exponential averaging is employed. The lower variability of the gain function results in less noticeable tonal artifacts in the output signal.

In sum, the present invention provides improved methods and apparatus for spectral subtraction using linear convolution, causal filtering and/or controlled exponential averaging of the gain function. The exemplary methods provide improved noise reduction and work well with frame lengths which are not necessarily a power of two. This can be an important property when the noise reduction method is integrated with other speech enhancement methods as well as speech coders.

The exemplary methods reduce the variability of the gain function, in this case a complex function, in two significant ways. First, the variance of the current blocks spectrum estimate is reduced with a spectrum estimation method (e.g., Bartlett or Welch) by trading frequency resolution with variance reduction. Second, an exponential averaging of the gain function is provided which is dependent on the discrepancy between the estimated noise spectrum and the current input signal spectrum estimate. The low variability of the gain function during stationary input signals gives an output with less tonal residual noise. The lower resolution of the gain function is also utilized to perform a correct convolution yielding an improved sound quality. The sound quality is further enhanced by adding causal properties to the gain function. Advantageously, the quality improvement can be observed in the output block. Sound quality improvement is due to the fact that the overlap part of the output blocks have much reduced sample values and hence the blocks interfere less when they are fitted with the overlap and add method. The output noise reduction is 13-18 dB using the exemplary parameter choices described above.

Those skilled in the art will appreciate that the present invention is not limited to the specific exemplary embodiments which have been described herein for purposes of illustration and that numerous alternative embodiments are also contemplated. For example, though the invention has been described in the context of hands-free communications applications, those skilled in the art will appreciate that the teachings of the invention are equally applicable in any signal processing application in which it is desirable to remove a particular signal component. The scope of the invention is therefore defined by the claims which are appended hereto, rather than the foregoing description, and all equivalents which are consistent with the meaning of the claims are intended to be embraced therein. 

We claim:
 1. A noise reduction system, comprising: a spectral subtraction processor configured to filter a noisy input signal to provide a noise reduced output signal, wherein a gain function of the spectral subtraction processor is computed based on an estimate of a spectral density of the input signal and on an estimate of a spectral density of a noise component of the input signal, wherein a block of samples of the noise reduced output signal is computed based on a respective block of samples of the input signal and on a respective block of samples of the gain function, wherein an order of the block of computed samples of the output signal is greater than a sum of an order of the respective block of samples of the input signal and an order of the respective block of samples of the gain function, and wherein a phase is imposed on the gain function so that the spectral subtraction processor provides causal filtering.
 2. The noise reduction system of claim 1, wherein the block of computed samples of the output signal is computed based on a correct convolution of the respective block of samples of the input signal and the respective block of samples of the gain function.
 3. The noise reduction system of claim 1, wherein a block of N samples of the output signal is computed based on a block of L samples of the input signal, wherein L is less than N.
 4. The noise reduction system of claim 1, wherein a block of N samples of the output signal is computed based on a block of M samples of the gain function, wherein M is less than N.
 5. The noise reduction system of claim 1, wherein a block of N samples of the output signal is computed based on a block of L samples of the input signal and on a block of M samples of the gain function, wherein the sum of L and M is less than N.
 6. The noise reduction system of claim 5, wherein the block of L samples of the input signal is zero padded to provide a block of N input signal samples upon which the block of N samples of the output signal is based.
 7. The noise reduction system of claim 5, wherein the block of M samples of the gain function is interpolated to provide a block of N gain function samples upon which the block of N samples of the output signal is based.
 8. The noise reduction system of claim 5, wherein the block of M samples of the gain function is computed via spectral estimation based on the L samples of the input signal.
 9. The noise reduction system of claim 8, wherein the spectral estimation is carried out using the Bartlett method.
 10. The noise reduction system of claim 8, wherein the spectral estimation is carried out using the Welsh method.
 11. The noise reduction system of claim 1, wherein successive blocks of the output signal are fitted using an overlap and add method.
 12. The noise reduction system of claim 1, wherein the gain function has linear phase.
 13. The noise reduction system of claim 1, wherein the gain function has minimum phase.
 14. A method for processing a noisy input signal to provide a noise reduced output signal, comprising the steps of: computing an estimate of a spectral density of the input signal and an estimate of a spectral density of a noise component of the input signal; using spectral subtraction to compute the noise reduced output signal based on the noisy input signal and based on a gain function computed using the spectral density estimates; and adding a phase to the gain function so that the step of using spectral subtraction provides causal filtering, wherein a block of samples of the noise reduced output signal is computed based on a respective block of samples of the input signal and on a respective block of samples of the gain function, and wherein an order of the block of computed samples of the output signal is greater than a sum of an order of the respective block of samples of the input signal and an order of the respective block of samples of the gain function.
 15. The method of claim 14, comprising the step of computing the block of computed samples of the output signal as a correct convolution of the respective block of samples of the input signal and the respective block of samples of the gain function.
 16. The method of claim 14, comprising the step of computing a block of N samples of the output signal based on a block of L samples of the input signal, wherein L is less than N.
 17. The method of claim 14, comprising the step of computing a block of N samples of the output signal based on a block of M samples of the gain function, wherein M is less than N.
 18. The method of claim 14, comprising the step of computing a block of N samples of the output signal based on a block of L samples of the input signal and on a block of M samples of the gain function, wherein the sum of L and M is less than N.
 19. The method of claim 18, comprising the step of zero padding the block of L samples of the input signal to provide a block of N input signal samples for computation of the block of N samples of the output signal.
 20. The method of claim 18, comprising the step of interpolating the block of M samples of the gain function to provide a block of N gain function samples for computation of the block of N samples of the output signal.
 21. The method of claim 18, comprising the step of using spectral estimation to compute the block of M samples of the gain function based on the L samples of the input signal.
 22. The method of claim 21, wherein said step of using spectral estimation is carried out using a Bartlett algorithm.
 23. The method of claim 21, wherein said step of using spectral estimation is carried out using a Welsh algorithm.
 24. The method of claim 14, comprising the step of fitting successive blocks of the output signal using an overlap and add method.
 25. The method of claim 14, wherein the gain function has linear phase.
 26. The method of claim 14, wherein the gain function has minimum phase.
 27. A mobile telephone, comprising: a spectral subtraction processor configured to filter a noisy near-end speech signal to provide a noise reduced near-end speech signal, wherein a gain function of the spectral subtraction processor is computed based on an estimate of a spectral density of the noisy near-end speech signal and on an estimate of a spectral density of a noise component of the noisy near-end speech signal, wherein a block of samples of the noise reduced near-end speech signal is computed based on a respective block of samples of the noisy near-end speech signal and on a respective block of samples of the gain function, wherein an order of the block of computed samples of the noise reduced speech signal is greater than a sum of an order of the respective block of samples of the noisy near-end speech signal and an order of the respective block of samples of the gain function, and wherein a phase is added to the gain function so that the spectral subtraction processor provides causal filtering.
 28. The mobile telephone of claim 27, wherein a block of samples of the gain function is computed using spectral estimation based on a block of samples of the noisy near-end speech signal.
 29. The mobile telephone of claim 28, wherein the spectral estimation is carried out using one of a Bartlett algorithm and a Welch algorithm.
 30. The mobile telephone of claim 27, wherein the gain function has one of linear phase and minimum phase. 